Interface ICallGateSubscriber<T1, T2, T3, TRet>
This class facilitates inter-plugin communication.
Assembly: Dalamud.dll
public interface ICallGateSubscriber<T1, T2, T3, TRet> : ICallGateSubscriber
Methods
Subscribe(Action<T1, T2, T3>)
Registers a System.Delegate (of type System.Action1) that will be called when the providing plugin calls Dalamud.Plugin.Ipc.ICallGateProvider1.SendMessage. This method can be used to receive notifications
of events or data updates from a specific plugin.
void Subscribe(Action<T1, T2, T3> action)
Parameters
| Type | Name | Description |
|---|---|---|
System.Action<<T1>,<T2>,<T3>> | action | Action to subscribe. |
See Also
Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.Unsubscribe(System.Delegate)
Unsubscribe(Action<T1, T2, T3>)
Removes a subscription created through Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.Subscribe(System.Delegate). Note that the System.Delegate to be
unsubscribed must be the same instance as the one passed in.
void Unsubscribe(Action<T1, T2, T3> action)
Parameters
| Type | Name | Description |
|---|---|---|
System.Action<<T1>,<T2>,<T3>> | action | Action to unsubscribe. |
See Also
Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.Subscribe(System.Delegate)
InvokeAction(T1, T2, T3)
Executes the Action registered for this IPC call gate via Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterAction(System.Delegate). This method is intended
to be called by plugins wishing to access another plugin via RPC. The parameters passed to this method will be
passed to the owning plugin, with appropriate serialization for complex data types. Primitive data types will
be passed as-is. The target Action will be called on the same thread as the caller.
void InvokeAction(T1 arg1, T2 arg2, T3 arg3)
Parameters
| Type | Name |
|---|---|
<T1> | arg1 |
<T2> | arg2 |
<T3> | arg3 |
Exceptions
Dalamud.Plugin.Ipc.Exceptions.IpcNotReadyError
This is thrown when the IPC publisher has not registered an action for calling yet.
See Also
Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterAction(System.Delegate)Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.UnregisterAction
InvokeFunc(T1, T2, T3)
Executes the Function registered for this IPC call gate via Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterFunc(System.Delegate). This method is intended
to be called by plugins wishing to access another plugin via RPC. The parameters passed to this method will be
passed to the owning plugin, with appropriate serialization for complex data types. Primitive data types will
be passed as-is. The target Action will be called on the same thread as the caller.
TRet InvokeFunc(T1 arg1, T2 arg2, T3 arg3)
Returns
<TRet>: The return value.
Parameters
| Type | Name |
|---|---|
<T1> | arg1 |
<T2> | arg2 |
<T3> | arg3 |
Exceptions
Dalamud.Plugin.Ipc.Exceptions.IpcNotReadyError
This is thrown when the IPC publisher has not registered a func for calling yet.
See Also
Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterFunc(System.Delegate)Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.UnregisterFunc